package leetcode;

import java.util.ArrayList;
import java.util.List;

public class p145二叉树的中序遍历 {
    //将中序遍历结果放到list中
    public List<Integer> InorderTraversal(TreeNode root) {
        List<Integer> ans=new ArrayList<>();
        if (root==null) {
            return ans;
        }


        //将左子树前序遍历得到顺序表中的元素依次尾插到ans顺序表中
        List<Integer> left=InorderTraversal(root.left);
        for(int e:left) {
            ans.add(e);
        }

        ans.add(root.val);

        //将右子树前序遍历得到顺序表中的元素依次尾插到ans顺序表中
        List<Integer> right=InorderTraversal(root.right);
        ans.addAll(right);//addAll方法可以将传入顺序表中元素依次尾插到ans中

        return ans;
    }
}
